package com.aiti.lulian.controller;

import cn.hutool.core.util.StrUtil;
import com.aiti.base.core.base.controller.WebController;
import com.aiti.base.core.utils.message.Message;
import com.aiti.lulian.dto.CardRichTextDto;
import com.aiti.lulian.service.CardRichTextService;
import com.aiti.lulian.vo.CardRichTextVo;
import io.swagger.annotations.Api;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;



@RestController
@RequestMapping("/cardRichText")
@Api(tags = " cardRichText", description = "")
public class CardRichTextController extends WebController {

    @Autowired
    private CardRichTextService cardRichTextService;

    protected final Logger logger = LoggerFactory.getLogger(CustomerManagementController.class);

    //根据企业ID获取文本（可能多个）
    @GetMapping("/getCardRichTextByEnterpriseId")
    public Message getCardRichTextByEnterpriseId(@RequestParam("enterpriseId") String enterpriseId,
                                                 @RequestParam(value = "flag",required = false)String flag) {
        if (StrUtil.isBlank(enterpriseId)) {
            logger.error("异常：===》入参异常");
            return Message.fail("入参异常");
        } else {
            //TODO 根据企业ID获取卡片文本（可能多个）
            CardRichTextVo cardRichTexts = cardRichTextService.getCardRichTextByEnterpriseId(enterpriseId,flag);
            return Message.success(cardRichTexts);
        }
    }

    //根据企业id批量新增文本
    @PostMapping("/addCardRichTextByEnterpriseId")
    public Message addCardRichTextByEnterpriseId(@RequestBody CardRichTextDto cardRichTextDto) {
        try {
            if (cardRichTextDto == null) {
                logger.error("新增异常：===》入参异常");
                return Message.fail("入参异常");
            }
            // 新增文本信息
            Message message = cardRichTextService.addCardRichTextByEnterpriseId(cardRichTextDto);
            return message;
        } catch (Exception e) {
            logger.error("新增异常：===》" + e);
            return Error(e.getMessage());
        }
    }


    ////根据企业id批量更新文本
    @PutMapping("/updateCardRichTextByEnterpriseId")
    public Message updateCardRichTextByEnterpriseId(@RequestBody CardRichTextDto cardRichTextDto) {
        try {
            if (cardRichTextDto == null) {
                logger.error("修改异常：===》入参异常");
                return Message.fail("入参异常");
            }
            // 新增文本信息
            Message message = cardRichTextService.updateCardRichTextByEnterpriseId(cardRichTextDto);
            return message;
        } catch (Exception e) {
            logger.error("修改异常：===》" + e);
            return Error(e.getMessage());
        }
    }

    //根据主键id删除文本
    @DeleteMapping("/deleteCardRichTextByEnterpriseId")
    public Message deleteCardRichTextByEnterpriseId(String baseId) {
        try {
            if (StrUtil.isEmpty(baseId)) {
                logger.error("异常：===》入参异常");
                return Message.fail("入参异常");
            }
            // 删除文本信息
            Message message = cardRichTextService.deleteCardRichTextByEnterpriseId(baseId);
            return message;
        } catch (Exception e) {
            logger.error("删除异常：===》" + e);
            return Error(e.getMessage());
        }
    }
}